package com.junxonline.plat.service.role;

import com.junxonline.plat.dao.model.Role;
import com.junxonline.common.dao.pojo.JsTree;
import com.junxonline.plat.dao.vo.RoleVO;
import com.junxonline.plat.dao.vo.PageVO;
import com.junxonline.plat.dao.vo.QueryRoleVO;

import java.util.List;

public interface RoleService {

    /**
     * 获取角色树数据
     * @return
     */
    List<JsTree> getRoleTree();

    /**
     * 获取角色数据
     * @param vo
     * @return
     */
    Role getRole(QueryRoleVO vo);

    /**
     * 筛选查询角色
     * @param page
     * @param vo
     * @return
     */
    PageVO queryRole(PageVO page, QueryRoleVO vo);

    /**
     * 添加角色
     * @param vo
     * @return
     */
    boolean addRole(RoleVO vo);

    /**
     * 修改角色
     * @param vo
     * @return
     */
    boolean editRole(RoleVO vo);

    /**
     * 删除角色
     * @param roleIds
     * @return
     */
    boolean delRole(Long[] roleIds);

    /**
     * 设置权限
     * @param roleId
     * @param menuIds
     * @return
     */
    boolean setPermission(Long roleId, Long[] menuIds);
    
}
